import axios from 'axios';
import qs from 'qs';


// 是否是开发环境   开发环境True  生产环境False
let isDevelopment = import.meta.env.MODE == 'development' ? true : false;

// 接口设置代理标识 [处理跨域问题] proxy
let url_prefix = isDevelopment ? '/proxy' : '';


const request = axios.create({
  baseURL: isDevelopment ?  '' : import.meta.env.VITE_BASE_URL,  // api 的 base_url
  timeout: 5000
});


// 请求拦截器
request.interceptors.request.use(
    config => {
           // 这里添加你需要的参数，例如添加一个公共的token或者其他参数
           config.params = {
             ...config.params,
             jsessionids: 'Mobile001db3' 
           };
        return config;
      },
      error => {
        // 请求错误处理
        return Promise.reject(error);
      }
);


// 响应拦截器
request.interceptors.response.use(response => {
  return response.data;
});

export default {
    get(url, params) {
        return request.get(url_prefix + url, { params });
    },
    // Axios 封装得POST请求 默认会将入参转为JSON格式
    post(url, params,config) { 
        return request.post(url_prefix + url, params, config);
    },
    // 个别接口接收的参数要求不使用JSON格式，
    // 但是我们使用的axios默认传递JSON，导致后端无法接收到我们的参数
    axiosPost(url, params) {
        if (params != '' && params != undefined) {
            params = qs.stringify(params);  // // 将传递参数用qs.stringify(data)包装一下，使它序列化
        }
        return request.post(url_prefix + url, params);
    },
};




